/**
 * \file test_stock.c
 * \author Lom
 * Implémentation des procédures de test de test_stock.h.
 * Ces tests sont effectués sur les fonctions de stock.h.
 */
#include <stdio.h>
/*Ne pas oublier d'inclure assert.h*/
#include "stock.h"
#include "test_stock.h"
#include "produit.h"
#include "typesprimitifs.h"

/**
 * Nombres de test réussies.
 */
static ENTIER_POSITIF ok_tests_stock = 0;

/**
 * Nombre de test ayant échoué.
 */
static ENTIER_POSITIF ko_tests_stock = 0;

void set_up_tests_stock() {
    printf("-------- DEBUT TEST: stock --------\n");
}

void tester_creer_stock() {

    /*Création d'un pointeur sur stock*/
    POINTEUR_LISTE_PRODUIT ps = charger_liste_produit();
    /*Verifier que le pointeur est non null.*/
    if (ps != NULL) {
        ok_tests_stock++;
        printf("PASSED: tester_creer_stock.\n");
    }
    else {
        ko_tests_stock++;
        printf("FAILED: tester_creer_stock.\n");
    }
}

void tear_down_tests_stock() {
    printf("-------- STATS TESTS STOCK --------\n");
    printf("Tests reussis: %d\n", ok_tests_stock);
    printf("Tests echoues : %d\n", ko_tests_stock);
    printf("-----------------------------------\n");
    printf("FIN TEST: stock\n");
}

void tests_stock() {
    set_up_tests_stock();
    tester_creer_stock();
    tear_down_tests_stock();
}